home *** CD-ROM | disk | FTP | other *** search
/ Serving Financial Service…olutions Suite 1994 Fall / Serving Financial Services Solutions Suite 1994 Fall.iso / Apps / FirstClass / Tailor.app / PS__Parse.data < prev    next >
Text File  |  1994-12-12  |  21KB  |  3,453 lines

  1. %! Adobe packPS Version 2.0 (9)
  2.  
  3. /revision
  4. 9412
  5. def
  6. /product
  7. (Tailor PostScript Input Engine)
  8. def
  9. 100
  10. dict
  11. dup
  12. /TailorEngineScanDict
  13. exch
  14. def
  15. begin
  16. /CourierFontDict
  17. /Courier
  18. findfont
  19. def
  20. /originalscale
  21. /scale
  22. load
  23. def
  24. /originaltranslate
  25. /translate
  26. load
  27. def
  28. /origdefinefont
  29. /definefont
  30. load
  31. def
  32. /origfindfont
  33. /findfont
  34. load
  35. def
  36. /originalfindfont
  37. {
  38. 4
  39. dict
  40. begin
  41. /definefont
  42. //origdefinefont
  43. def
  44. /findfont
  45. //origfindfont
  46. def
  47. /setshared
  48. {pop}
  49. def
  50. /setglobal
  51. {pop}
  52. def
  53. //origfindfont
  54. exec
  55. end
  56. }
  57. bind
  58. def
  59. /showprogress
  60. where
  61. {
  62. pop
  63. }
  64. {
  65. /showprogress
  66. {}
  67. def
  68. }
  69. ifelse
  70. true
  71. setglobal
  72. /enginestate
  73. 14
  74. dict
  75. def
  76. //enginestate
  77. /referencematrix
  78. matrix
  79. put
  80. //enginestate
  81. /setupmatrix
  82. matrix
  83. put
  84. //enginestate
  85. /firstpage
  86. true
  87. put
  88. false
  89. setglobal
  90. /setallchanged
  91. {
  92. //enginestate
  93. /matr
  94. true
  95. put
  96. //enginestate
  97. /color
  98. true
  99. put
  100. //enginestate
  101. /overprint
  102. true
  103. put
  104. //enginestate
  105. /font
  106. true
  107. put
  108. //enginestate
  109. /line
  110. true
  111. put
  112. //enginestate
  113. /dash
  114. true
  115. put
  116. //enginestate
  117. /clip
  118. true
  119. put
  120. }
  121. bind
  122. def
  123. /enginecache
  124. 10
  125. dict
  126. def
  127. enginecache
  128. /mapping
  129. 2
  130. dict
  131. put
  132. enginecache
  133. /bitmap
  134. 15
  135. dict
  136. put
  137. //EngineSubFontName
  138. findfont
  139. pop
  140. /NoFontName
  141. (?)
  142. def
  143. /holdchar
  144. 1
  145. string
  146. def
  147. /holdstring
  148. 1000
  149. string
  150. def
  151. /holdname
  152. 100
  153. string
  154. def
  155. /holdcolor
  156. 250
  157. string
  158. def
  159. /holdmatrix
  160. matrix
  161. def
  162. /prtnum
  163. {
  164. //holdstring
  165. cvs
  166. print
  167. ( )
  168. print
  169. }
  170. bind
  171. def
  172. /prtpath
  173. {
  174. {
  175. (M )
  176. print
  177. //prtnum
  178. exec
  179. //prtnum
  180. exec
  181. }
  182. {
  183. (L )
  184. print
  185. //prtnum
  186. exec
  187. //prtnum
  188. exec
  189. }
  190. {
  191. (C )
  192. print
  193. //prtnum
  194. exec
  195. //prtnum
  196. exec
  197. //prtnum
  198. exec
  199. //prtnum
  200. exec
  201. //prtnum
  202. exec
  203. //prtnum
  204. exec}
  205. {
  206. (O )
  207. print
  208. }
  209. pathforall
  210. }
  211. bind
  212. def
  213. /getinversemapping
  214. {
  215. mapping
  216. target
  217. known
  218. {
  219. /inverse
  220. mapping
  221. target
  222. get
  223. def
  224. }{
  225. /inverse
  226. 230
  227. dict
  228. def
  229. 0
  230. target
  231. {inverse
  232. exch
  233. 2
  234. index
  235. put
  236. 1
  237. add}
  238. forall
  239. pop
  240. mapping
  241. target
  242. inverse
  243. put
  244. }
  245. ifelse
  246. }
  247. bind
  248. def
  249. /prtstring
  250. {
  251. //enginecache
  252. begin
  253. source
  254. target
  255. eq
  256. {
  257. (%stdout)(w)
  258. file
  259. exch
  260. writehexstring
  261. }{
  262. //getinversemapping
  263. exec
  264. //holdstring
  265. exch
  266. 0
  267. exch
  268. {
  269. source
  270. 1
  271. index
  272. get
  273. inverse
  274. 1
  275. index
  276. known
  277. {
  278. inverse
  279. exch
  280. get
  281. exch
  282. pop
  283. }
  284. {
  285. pop
  286. mapnotdef
  287. {
  288. pop
  289. inverse
  290. /.notdef
  291. get
  292. }
  293. if
  294. }
  295. ifelse
  296. 3
  297. copy
  298. put
  299. pop
  300. 1
  301. add
  302. }
  303. forall
  304. 0
  305. exch
  306. getinterval
  307. (%stdout)(w)
  308. file
  309. exch
  310. writehexstring
  311. }
  312. ifelse
  313. end
  314. ( )
  315. print
  316. }
  317. bind
  318. def
  319. /prtdefaultdevicematrix
  320. {
  321. (<V )
  322. print
  323. //holdmatrix
  324. defaultmatrix
  325. {//prtnum
  326. exec}
  327. forall
  328. (>\n)
  329. print
  330. }
  331. bind
  332. def
  333. /prtmatr
  334. {
  335. //enginestate
  336. /matr
  337. get
  338. {
  339. //enginestate
  340. /matr
  341. false
  342. put
  343. (<M )
  344. print
  345. //holdmatrix
  346. currentmatrix
  347. {//prtnum
  348. exec}
  349. forall
  350. (>\n)
  351. print
  352. }
  353. if
  354. //enginestate
  355. /overprint
  356. get
  357. {
  358. //enginestate
  359. /overprint
  360. false
  361. put
  362. (<K )
  363. print
  364. currentoverprint
  365. {(1)}{(0)}ifelse
  366. print
  367. (>\n)
  368. print
  369. }
  370. if
  371. }
  372. bind
  373. def
  374. /prtcolor
  375. {
  376. //enginestate
  377. /color
  378. get
  379. {
  380. //enginestate
  381. /color
  382. false
  383. put
  384. (<C )
  385. print
  386. mark
  387. currentcolor
  388. dup
  389. type
  390. /integertype
  391. eq
  392. {
  393. currentcolorspace
  394. aload
  395. pop
  396. print
  397. }
  398. {
  399. counttomark
  400. dup
  401. //prtnum
  402. exec
  403. {//prtnum
  404. exec}
  405. repeat
  406. }
  407. ifelse
  408. cleartomark
  409. (>\n)
  410. print
  411. }
  412. if
  413. }
  414. bind
  415. def
  416. /TailorCustomizeFontName
  417. {}
  418. def
  419. /normfontname
  420. {
  421. //holdstring
  422. cvs
  423. (_)
  424. search
  425. {pop
  426. pop}
  427. if
  428. 0
  429. exch
  430. {
  431. dup
  432. 45
  433. eq
  434. 1
  435. index
  436. 48
  437. ge
  438. 2
  439. index
  440. 57
  441. le
  442. and
  443. or
  444. 1
  445. index
  446. 65
  447. ge
  448. 2
  449. index
  450. 90
  451. le
  452. and
  453. or
  454. 1
  455. index
  456. 97
  457. ge
  458. 2
  459. index
  460. 122
  461. le
  462. and
  463. or
  464. {//holdname
  465. exch
  466. 2
  467. index
  468. exch
  469. put
  470. 1
  471. add}
  472. {pop
  473. dup
  474. 1
  475. ge
  476. {exit}
  477. if}
  478. ifelse
  479. }
  480. forall
  481. //holdname
  482. exch
  483. 0
  484. exch
  485. getinterval
  486. TailorCustomizeFontName
  487. }
  488. bind
  489. def
  490. /prtfont
  491. {
  492. //enginestate
  493. /font
  494. get
  495. {
  496. //enginestate
  497. /font
  498. false
  499. put
  500. //enginestate
  501. /outline
  502. false
  503. put
  504. (<A )
  505. print
  506. currentfont
  507. /FontName
  508. known
  509. {
  510. currentfont
  511. /FontName
  512. get
  513. //normfontname
  514. exec
  515. }
  516. {
  517. //NoFontName
  518. }
  519. ifelse
  520. dup
  521. print
  522. ( )
  523. print
  524. cvn
  525. currentfont
  526. /FontType
  527. get
  528. 1
  529. eq
  530. {//EngineUseEmbedded1}
  531. {true}
  532. ifelse
  533. {
  534. dup
  535. //originalfindfont
  536. exec
  537. pop
  538. dup
  539. SharedFontDirectory
  540. exch
  541. known
  542. not
  543. {
  544. currentfont
  545. /TailorEngineSubClone
  546. known
  547. not
  548. {
  549. //enginestate
  550. /outline
  551. true
  552. put
  553. }
  554. if
  555. }
  556. if
  557. }
  558. if
  559. //enginecache
  560. begin
  561. SharedFontDirectory
  562. 1
  563. index
  564. known
  565. not
  566. {
  567. pop
  568. //EngineSubFontName
  569. }
  570. if
  571. SharedFontDirectory
  572. exch
  573. get
  574. /Encoding
  575. get
  576. /target
  577. exch
  578. def
  579. /source
  580. currentfont
  581. /Encoding
  582. get
  583. def
  584. /mapnotdef
  585. currentfont
  586. /FontType
  587. get
  588. 1
  589. eq
  590. def
  591. end
  592. currentfont
  593. /ScaleMatrix
  594. known
  595. {currentfont
  596. /ScaleMatrix
  597. get}
  598. {matrix}
  599. ifelse
  600. {//prtnum
  601. exec}
  602. forall
  603. (>\n)
  604. print
  605. }
  606. if
  607. }
  608. bind
  609. def
  610. /prtline
  611. {
  612. //enginestate
  613. /line
  614. get
  615. {
  616. //enginestate
  617. /line
  618. false
  619. put
  620. (<L )
  621. print
  622. currentlinewidth
  623. //prtnum
  624. exec
  625. currentlinecap
  626. //prtnum
  627. exec
  628. currentlinejoin
  629. //prtnum
  630. exec
  631. currentmiterlimit
  632. //prtnum
  633. exec
  634. (>\n)
  635. print
  636. }
  637. if
  638. }
  639. bind
  640. def
  641. /prtdash
  642. {
  643. //enginestate
  644. /dash
  645. get
  646. {
  647. //enginestate
  648. /dash
  649. false
  650. put
  651. (<D )
  652. print
  653. currentdash
  654. //prtnum
  655. exec
  656. {//prtnum
  657. exec}
  658. forall
  659. (>\n)
  660. print
  661. }
  662. if
  663. }
  664. bind
  665. def
  666. /prtclip
  667. {
  668. //enginestate
  669. /clip
  670. get
  671. {
  672. //enginestate
  673. /clip
  674. false
  675. put
  676. (<I )
  677. print
  678. currenthalftonephase
  679. pop
  680. prtnum
  681. (>\n)
  682. print
  683. }
  684. if
  685. }
  686. bind
  687. def
  688. /restore
  689. {//setallchanged
  690. exec
  691. restore
  692. }
  693. bind
  694. def
  695. /grestore
  696. {//setallchanged
  697. exec
  698. grestore
  699. }
  700. bind
  701. def
  702. /grestoreall
  703. {//setallchanged
  704. exec
  705. grestoreall
  706. }
  707. bind
  708. def
  709. /setgstate
  710. {//setallchanged
  711. exec
  712. setgstate
  713. }
  714. bind
  715. def
  716. /setpagedevice
  717. {//setallchanged
  718. exec
  719. setpagedevice
  720. }
  721. bind
  722. def
  723. /initmatrix
  724. {//enginestate
  725. /matr
  726. true
  727. put
  728. initmatrix
  729. }
  730. bind
  731. def
  732. /setmatrix
  733. {//enginestate
  734. /matr
  735. true
  736. put
  737. setmatrix
  738. }
  739. bind
  740. def
  741. /translate
  742. {//enginestate
  743. /matr
  744. true
  745. put
  746. translate
  747. }
  748. bind
  749. def
  750. /scale
  751. {//enginestate
  752. /matr
  753. true
  754. put
  755. scale
  756. }
  757. bind
  758. def
  759. /rotate
  760. {//enginestate
  761. /matr
  762. true
  763. put
  764. rotate
  765. }
  766. bind
  767. def
  768. /concat
  769. {//enginestate
  770. /matr
  771. true
  772. put
  773. concat
  774. }
  775. bind
  776. def
  777. /nxsetgray
  778. {//enginestate
  779. /color
  780. true
  781. put
  782. setgray
  783. }
  784. bind
  785. def
  786. /nxsetrgbcolor
  787. {//enginestate
  788. /color
  789. true
  790. put
  791. setrgbcolor
  792. }
  793. bind
  794. def
  795. /setgray
  796. {//enginestate
  797. /color
  798. true
  799. put
  800. setgray
  801. }
  802. bind
  803. def
  804. /sethsbcolor
  805. {//enginestate
  806. /color
  807. true
  808. put
  809. sethsbcolor
  810. }
  811. bind
  812. def
  813. /setrgbcolor
  814. {//enginestate
  815. /color
  816. true
  817. put
  818. setrgbcolor
  819. }
  820. bind
  821. def
  822. /setcmykcolor
  823. {//enginestate
  824. /color
  825. true
  826. put
  827. setcmykcolor
  828. }
  829. bind
  830. def
  831. /setcolor
  832. {//enginestate
  833. /color
  834. true
  835. put
  836. setcolor
  837. }
  838. bind
  839. def
  840. /setoverprint
  841. {//enginestate
  842. /overprint
  843. true
  844. put
  845. setoverprint
  846. }
  847. bind
  848. def
  849. /setfont
  850. {//enginestate
  851. /font
  852. true
  853. put
  854. setfont
  855. }
  856. bind
  857. def
  858. /selectfont
  859. {//enginestate
  860. /font
  861. true
  862. put
  863. selectfont
  864. }
  865. bind
  866. def
  867. /setlinewidth
  868. {//enginestate
  869. /line
  870. true
  871. put
  872. setlinewidth
  873. }
  874. bind
  875. def
  876. /setlinecap
  877. {//enginestate
  878. /line
  879. true
  880. put
  881. setlinecap
  882. }
  883. bind
  884. def
  885. /setlinejoin
  886. {//enginestate
  887. /line
  888. true
  889. put
  890. setlinejoin
  891. }
  892. bind
  893. def
  894. /setmiterlimit
  895. {//enginestate
  896. /line
  897. true
  898. put
  899. setmiterlimit
  900. }
  901. bind
  902. def
  903. /setdash
  904. {//enginestate
  905. /dash
  906. true
  907. put
  908. setdash
  909. }
  910. bind
  911. def
  912. /_NXSetCMYKOrRGB
  913. {
  914. (6 )
  915. //holdcolor
  916. copy
  917. pop
  918. pop
  919. pop
  920. pop
  921. 2
  922. 4
  923. {
  924. exch
  925. //holdstring
  926. cvs
  927. dup
  928. length
  929. exch
  930. //holdcolor
  931. exch
  932. 3
  933. index
  934. exch
  935. putinterval
  936. add
  937. //holdcolor
  938. 1
  939. index
  940. ( )
  941. putinterval
  942. 1
  943. add
  944. }
  945. repeat
  946. 2
  947. {
  948. //holdcolor
  949. 1
  950. index
  951. (\()
  952. putinterval
  953. 1
  954. add
  955. exch
  956. dup
  957. length
  958. exch
  959. //holdcolor
  960. exch
  961. 3
  962. index
  963. exch
  964. putinterval
  965. add
  966. //holdcolor
  967. 1
  968. index
  969. (\))
  970. putinterval
  971. 1
  972. add
  973. }
  974. repeat
  975. [
  976. /Indexed
  977. /DeviceGray
  978. 3
  979. index
  980. 1
  981. sub
  982. //holdcolor
  983. 0
  984. 6
  985. index
  986. getinterval
  987. ]
  988. setcolorspace
  989. pop
  990. //enginestate
  991. /color
  992. true
  993. put
  994. }
  995. bind
  996. def
  997. /initgraphics
  998. {
  999. //enginestate
  1000. /inittag
  1001. get
  1002. 0
  1003. sethalftonephase
  1004. //setallchanged
  1005. exec
  1006. initgraphics
  1007. }
  1008. bind
  1009. def
  1010. /initclip
  1011. {
  1012. //enginestate
  1013. /inittag
  1014. get
  1015. 0
  1016. sethalftonephase
  1017. //enginestate
  1018. /clip
  1019. true
  1020. put
  1021. initclip
  1022. }
  1023. bind
  1024. def
  1025. /clip
  1026. {
  1027. //prtmatr
  1028. exec
  1029. //enginestate
  1030. begin
  1031. /tag
  1032. tag
  1033. 1
  1034. add
  1035. def
  1036. (<P )
  1037. print
  1038. tag
  1039. prtnum
  1040. currenthalftonephase
  1041. pop
  1042. prtnum
  1043. (N )
  1044. print
  1045. //prtpath
  1046. exec
  1047. (>\n)
  1048. print
  1049. tag
  1050. 0
  1051. sethalftonephase
  1052. /clip
  1053. true
  1054. def
  1055. end
  1056. clip
  1057. }
  1058. bind
  1059. def
  1060. /eoclip
  1061. {
  1062. //prtmatr
  1063. exec
  1064. //enginestate
  1065. begin
  1066. /tag
  1067. tag
  1068. 1
  1069. add
  1070. def
  1071. (<P )
  1072. print
  1073. tag
  1074. prtnum
  1075. currenthalftonephase
  1076. pop
  1077. prtnum
  1078. (E )
  1079. print
  1080. //prtpath
  1081. exec
  1082. (>\n)
  1083. print
  1084. tag
  1085. 0
  1086. sethalftonephase
  1087. /clip
  1088. true
  1089. def
  1090. end
  1091. eoclip
  1092. }
  1093. bind
  1094. def
  1095. /findfont
  1096. {
  1097. dup
  1098. //originalfindfont
  1099. exec
  1100. dup
  1101. //CourierFontDict
  1102. eq
  1103. {
  1104. 1
  1105. index
  1106. //normfontname
  1107. exec
  1108. /Courier
  1109. ne
  1110. {
  1111. pop
  1112. //EngineSubFontName
  1113. //originalfindfont
  1114. exec
  1115. dup
  1116. length
  1117. 1
  1118. add
  1119. dict
  1120. dup
  1121. begin
  1122. exch
  1123. {
  1124. 1
  1125. index
  1126. /FID
  1127. ne
  1128. {def}{pop
  1129. pop}
  1130. ifelse
  1131. }
  1132. forall
  1133. /FontName
  1134. 2
  1135. index
  1136. def
  1137. /TailorEngineSubClone
  1138. true
  1139. def
  1140. end
  1141. 1
  1142. index
  1143. exch
  1144. //definefont
  1145. exec
  1146. ($$Cloned Unavailable: )
  1147. print
  1148. dup
  1149. /FontName
  1150. get
  1151. prtnum
  1152. ($$\n)
  1153. print
  1154. }
  1155. if
  1156. }
  1157. if
  1158. exch
  1159. pop
  1160. }
  1161. bind
  1162. def
  1163. /findresource
  1164. {
  1165. dup
  1166. /Font
  1167. eq
  1168. {
  1169. pop
  1170. findfont
  1171. }{
  1172. findresource
  1173. }
  1174. ifelse
  1175. }
  1176. bind
  1177. def
  1178. /definefont
  1179. {
  1180. dup
  1181. /FontType
  1182. get
  1183. 1
  1184. ne
  1185. {
  1186. 1
  1187. index
  1188. //normfontname
  1189. exec
  1190. dup
  1191. //originalfindfont
  1192. exec
  1193. 1
  1194. index
  1195. /Courier
  1196. eq
  1197. 1
  1198. index
  1199. //CourierFontDict
  1200. ne
  1201. or
  1202. {
  1203. exch
  1204. pop
  1205. 1
  1206. index
  1207. begin
  1208. {
  1209. 1
  1210. index
  1211. /Encoding
  1212. ne
  1213. {def}{pop
  1214. pop}
  1215. ifelse
  1216. }
  1217. forall
  1218. /FontName
  1219. 2
  1220. index
  1221. def
  1222. FontType
  1223. 1
  1224. eq
  1225. {
  1226. /TailorEngineSubClone
  1227. true
  1228. def
  1229. }
  1230. if
  1231. end
  1232. dup
  1233. /FID
  1234. undef
  1235. dup
  1236. /XUID
  1237. undef
  1238. dup
  1239. /UniqueID
  1240. undef
  1241. ($$Cloned Non-Type-1: )
  1242. print
  1243. dup
  1244. /FontName
  1245. get
  1246. prtnum
  1247. ($$\n)
  1248. print
  1249. }
  1250. {
  1251. pop
  1252. pop
  1253. dup
  1254. /FontName
  1255. 3
  1256. index
  1257. put
  1258. }
  1259. ifelse
  1260. }
  1261. {
  1262. 1
  1263. index
  1264. //normfontname
  1265. exec
  1266. //originalfindfont
  1267. exec
  1268. pop
  1269. }
  1270. ifelse
  1271. //definefont
  1272. exec
  1273. //showprogress
  1274. exec
  1275. }
  1276. bind
  1277. def
  1278. /defineresource
  1279. {
  1280. dup
  1281. /Font
  1282. eq
  1283. {
  1284. pop
  1285. definefont
  1286. }{
  1287. defineresource
  1288. }
  1289. ifelse
  1290. }
  1291. bind
  1292. def
  1293. /eexec
  1294. {
  1295. count
  1296. 1
  1297. gt
  1298. {
  1299. 1
  1300. index
  1301. type
  1302. /dicttype
  1303. eq
  1304. {
  1305. 1
  1306. index
  1307. /FontName
  1308. known
  1309. {
  1310. 1
  1311. index
  1312. /FontName
  1313. get
  1314. //normfontname
  1315. exec
  1316. ($$Intercepted eexec: )
  1317. print
  1318. dup
  1319. prtnum
  1320. ($$\n)
  1321. print
  1322. //originalfindfont
  1323. exec
  1324. pop
  1325. }
  1326. if
  1327. }
  1328. if
  1329. }
  1330. if
  1331. //eexec
  1332. exec
  1333. }
  1334. bind
  1335. def
  1336. /stroke
  1337. {
  1338. //prtmatr
  1339. exec
  1340. //prtcolor
  1341. exec
  1342. //prtline
  1343. exec
  1344. //prtdash
  1345. exec
  1346. //prtclip
  1347. exec
  1348. (<S )
  1349. print
  1350. //prtpath
  1351. exec
  1352. (>\n)
  1353. print
  1354. newpath
  1355. //showprogress
  1356. exec
  1357. }
  1358. bind
  1359. def
  1360. /fill
  1361. {
  1362. //prtmatr
  1363. exec
  1364. //prtcolor
  1365. exec
  1366. //prtclip
  1367. exec
  1368. (<F N )
  1369. print
  1370. //prtpath
  1371. exec
  1372. (>\n)
  1373. print
  1374. newpath
  1375. //showprogress
  1376. exec
  1377. }
  1378. bind
  1379. def
  1380. /eofill
  1381. {
  1382. //prtmatr
  1383. exec
  1384. //prtcolor
  1385. exec
  1386. //prtclip
  1387. exec
  1388. (<F E )
  1389. print
  1390. //prtpath
  1391. exec
  1392. (>\n)
  1393. print
  1394. newpath
  1395. //showprogress
  1396. exec
  1397. }
  1398. bind
  1399. def
  1400. /storecharwidth
  1401. {
  1402. matrix
  1403. currentmatrix
  1404. dtransform
  1405. //enginestate
  1406. /referencematrix
  1407. get
  1408. idtransform
  1409. //enginestate
  1410. exch
  1411. /dy
  1412. exch
  1413. put
  1414. //enginestate
  1415. exch
  1416. /dx
  1417. exch
  1418. put
  1419. }
  1420. def
  1421. /loadcharwidth
  1422. {
  1423. //enginestate
  1424. /dx
  1425. get
  1426. //enginestate
  1427. /dy
  1428. get
  1429. }
  1430. def
  1431. /setcharwidth
  1432. {setcharwidth}
  1433. bind
  1434. def
  1435. /setcachedevice
  1436. {setcachedevice}
  1437. bind
  1438. def
  1439. /setcachedevice2
  1440. {setcachedevice2}
  1441. bind
  1442. def
  1443. /awidthshow
  1444. {
  1445. //prtmatr
  1446. exec
  1447. //prtcolor
  1448. exec
  1449. //prtfont
  1450. exec
  1451. //prtclip
  1452. exec
  1453. //enginestate
  1454. /outline
  1455. get
  1456. 7
  1457. copy
  1458. {(<O )}
  1459. {(<T )}
  1460. ifelse
  1461. print
  1462. currentpoint
  1463. //prtnum
  1464. exec
  1465. //prtnum
  1466. exec
  1467. //prtstring
  1468. exec
  1469. //prtnum
  1470. exec
  1471. //prtnum
  1472. exec
  1473. //prtnum
  1474. exec
  1475. //prtnum
  1476. exec
  1477. //prtnum
  1478. exec
  1479. (>\n)
  1480. print
  1481. {
  1482. currentfont
  1483. /FontType
  1484. get
  1485. 1
  1486. eq
  1487. {
  1488. gsave
  1489. 15
  1490. dict
  1491. begin
  1492. /cx
  1493. 6
  1494. index
  1495. def
  1496. /cy
  1497. 5
  1498. index
  1499. def
  1500. /char
  1501. 4
  1502. index
  1503. def
  1504. /ax
  1505. 3
  1506. index
  1507. def
  1508. /ay
  1509. 2
  1510. index
  1511. def
  1512. currentpoint
  1513. /y
  1514. exch
  1515. def
  1516. /x
  1517. exch
  1518. def
  1519. 20
  1520. 20
  1521. //originalscale
  1522. dup
  1523. {
  1524. newpath
  1525. 0
  1526. 0
  1527. moveto
  1528. //holdchar
  1529. dup
  1530. 0
  1531. 3
  1532. index
  1533. put
  1534. dup
  1535. true
  1536. charpath
  1537. x
  1538. neg
  1539. y
  1540. neg
  1541. //originaltranslate
  1542. fill
  1543. x
  1544. y
  1545. //originaltranslate
  1546. stringwidth
  1547. y
  1548. add
  1549. ay
  1550. add
  1551. exch
  1552. x
  1553. add
  1554. ax
  1555. add
  1556. exch
  1557. 3
  1558. -1
  1559. roll
  1560. char
  1561. eq
  1562. {
  1563. cy
  1564. add
  1565. exch
  1566. cx
  1567. add
  1568. exch
  1569. }
  1570. if
  1571. /y
  1572. exch
  1573. def
  1574. /x
  1575. exch
  1576. def
  1577. }
  1578. forall
  1579. end
  1580. (<Q>\n)
  1581. print
  1582. grestore
  1583. awidthshow
  1584. }
  1585. {
  1586. 15
  1587. dict
  1588. begin
  1589. //enginestate
  1590. /referencematrix
  1591. get
  1592. currentmatrix
  1593. pop
  1594. /setcharwidth
  1595. {
  1596. //storecharwidth
  1597. exec
  1598. }
  1599. def
  1600. /setcachedevice
  1601. {
  1602. 4
  1603. {pop}
  1604. repeat
  1605. //storecharwidth
  1606. exec
  1607. }
  1608. def
  1609. /setcachedevice2
  1610. {
  1611. 8
  1612. {pop}
  1613. repeat
  1614. //storecharwidth
  1615. exec
  1616. }
  1617. def
  1618. /str
  1619. exch
  1620. def
  1621. /ay
  1622. exch
  1623. def
  1624. /ax
  1625. exch
  1626. def
  1627. /char
  1628. exch
  1629. def
  1630. /cy
  1631. exch
  1632. def
  1633. /cx
  1634. exch
  1635. def
  1636. currentpoint
  1637. /y
  1638. exch
  1639. def
  1640. /x
  1641. exch
  1642. def
  1643. str
  1644. {
  1645. gsave
  1646. x
  1647. y
  1648. translate
  1649. newpath
  1650. 0
  1651. 0
  1652. moveto
  1653. currentfont
  1654. dup
  1655. /FontMatrix
  1656. get
  1657. concat
  1658. 1
  1659. index
  1660. 1
  1661. index
  1662. /BuildChar
  1663. get
  1664. exec
  1665. loadcharwidth
  1666. y
  1667. add
  1668. ay
  1669. add
  1670. exch
  1671. x
  1672. add
  1673. ax
  1674. add
  1675. exch
  1676. 3
  1677. -1
  1678. roll
  1679. char
  1680. eq
  1681. {
  1682. cy
  1683. add
  1684. exch
  1685. cx
  1686. add
  1687. exch
  1688. }
  1689. if
  1690. /y
  1691. exch
  1692. def
  1693. /x
  1694. exch
  1695. def
  1696. grestore
  1697. }
  1698. forall
  1699. x
  1700. y
  1701. moveto
  1702. end
  1703. (<Q>\n)
  1704. print
  1705. }
  1706. ifelse
  1707. }
  1708. {
  1709. awidthshow
  1710. }
  1711. ifelse
  1712. //showprogress
  1713. exec
  1714. }
  1715. bind
  1716. def
  1717. /show
  1718. {
  1719. 0
  1720. 0
  1721. 0
  1722. 0
  1723. 0
  1724. 6
  1725. -1
  1726. roll
  1727. //awidthshow
  1728. exec
  1729. }
  1730. bind
  1731. def
  1732. /ashow
  1733. {
  1734. 0
  1735. 0
  1736. 0
  1737. 6
  1738. -3
  1739. roll
  1740. //awidthshow
  1741. exec
  1742. }
  1743. bind
  1744. def
  1745. /widthshow
  1746. {
  1747. 0
  1748. exch
  1749. 0
  1750. exch
  1751. //awidthshow
  1752. exec
  1753. }
  1754. bind
  1755. def
  1756. /kshow
  1757. {
  1758. dup
  1759. length
  1760. 0
  1761. gt
  1762. {
  1763. dup
  1764. 0
  1765. 1
  1766. getinterval
  1767. show
  1768. //enginecache
  1769. exch
  1770. /kstring
  1771. exch
  1772. put
  1773. //enginecache
  1774. exch
  1775. /kproc
  1776. exch
  1777. put
  1778. //enginecache
  1779. /kindex
  1780. 0
  1781. put
  1782. //enginecache
  1783. /kstring
  1784. get
  1785. length
  1786. 1
  1787. sub
  1788. {
  1789. //enginecache
  1790. /kstring
  1791. get
  1792. //enginecache
  1793. /kindex
  1794. get
  1795. get
  1796. //enginecache
  1797. /kindex
  1798. 2
  1799. copy
  1800. get
  1801. 1
  1802. add
  1803. put
  1804. //enginecache
  1805. /kstring
  1806. get
  1807. //enginecache
  1808. /kindex
  1809. get
  1810. get
  1811. //enginecache
  1812. /kproc
  1813. get
  1814. exec
  1815. //enginecache
  1816. /kstring
  1817. get
  1818. //enginecache
  1819. /kindex
  1820. get
  1821. 1
  1822. getinterval
  1823. show
  1824. }
  1825. repeat
  1826. }
  1827. {
  1828. pop
  1829. pop
  1830. }
  1831. ifelse
  1832. }
  1833. bind
  1834. def
  1835. /glyphshow
  1836. {
  1837. 0
  1838. currentfont
  1839. /Encoding
  1840. get
  1841. {2
  1842. index
  1843. eq
  1844. {exit}
  1845. if
  1846. 1
  1847. add}
  1848. forall
  1849. dup
  1850. 256
  1851. ge
  1852. {
  1853. pop
  1854. 32
  1855. }
  1856. if
  1857. exch
  1858. pop
  1859. 1
  1860. string
  1861. dup
  1862. 0
  1863. 3
  1864. index
  1865. put
  1866. exch
  1867. pop
  1868. 0
  1869. 0
  1870. 0
  1871. 0
  1872. 0
  1873. 6
  1874. -1
  1875. roll
  1876. //awidthshow
  1877. exec
  1878. }
  1879. bind
  1880. def
  1881. /save
  1882. {save}
  1883. bind
  1884. def
  1885. /charpath
  1886. {
  1887. currentfont
  1888. /FontType
  1889. get
  1890. 1
  1891. eq
  1892. {
  1893. charpath
  1894. }
  1895. {
  1896. 15
  1897. dict
  1898. begin
  1899. //enginestate
  1900. /referencematrix
  1901. get
  1902. currentmatrix
  1903. pop
  1904. /setcharwidth
  1905. {
  1906. //storecharwidth
  1907. exec
  1908. }
  1909. def
  1910. /setcachedevice
  1911. {
  1912. 4
  1913. {pop}
  1914. repeat
  1915. //storecharwidth
  1916. exec
  1917. }
  1918. def
  1919. /setcachedevice2
  1920. {
  1921. 8
  1922. {pop}
  1923. repeat
  1924. //storecharwidth
  1925. exec
  1926. }
  1927. def
  1928. /stroke
  1929. exch
  1930. {{strokepath}}
  1931. {{}}
  1932. ifelse
  1933. def
  1934. /fill
  1935. {}
  1936. def
  1937. /eofill
  1938. {}
  1939. def
  1940. /save
  1941. {0}
  1942. def
  1943. /restore
  1944. {pop}
  1945. def
  1946. /oldmatrix
  1947. matrix
  1948. currentmatrix
  1949. def
  1950. currentpoint
  1951. /y
  1952. exch
  1953. def
  1954. /x
  1955. exch
  1956. def
  1957. {
  1958. x
  1959. y
  1960. translate
  1961. currentfont
  1962. dup
  1963. /FontMatrix
  1964. get
  1965. concat
  1966. exch
  1967. 1
  1968. index
  1969. /BuildChar
  1970. get
  1971. exec
  1972. loadcharwidth
  1973. /y
  1974. exch
  1975. y
  1976. add
  1977. def
  1978. /x
  1979. exch
  1980. x
  1981. add
  1982. def
  1983. oldmatrix
  1984. setmatrix
  1985. }
  1986. forall
  1987. x
  1988. y
  1989. moveto
  1990. end
  1991. }
  1992. ifelse
  1993. }
  1994. bind
  1995. def
  1996. /stringwidth
  1997. {
  1998. currentfont
  1999. /FontType
  2000. get
  2001. 1
  2002. eq
  2003. {
  2004. stringwidth
  2005. }
  2006. {
  2007. 15
  2008. dict
  2009. begin
  2010. //enginestate
  2011. /referencematrix
  2012. get
  2013. currentmatrix
  2014. pop
  2015. /setcharwidth
  2016. {
  2017. //storecharwidth
  2018. exec
  2019. }
  2020. def
  2021. /setcachedevice
  2022. {
  2023. 4
  2024. {pop}
  2025. repeat
  2026. //storecharwidth
  2027. exec
  2028. }
  2029. def
  2030. /setcachedevice2
  2031. {
  2032. 8
  2033. {pop}
  2034. repeat
  2035. //storecharwidth
  2036. exec
  2037. }
  2038. def
  2039. /stroke
  2040. {}
  2041. def
  2042. /fill
  2043. {}
  2044. def
  2045. /eofill
  2046. {}
  2047. def
  2048. /imagemask
  2049. {
  2050. type
  2051. /dicttype
  2052. ne
  2053. {pop
  2054. pop
  2055. pop
  2056. pop}
  2057. if
  2058. }
  2059. def
  2060. /y
  2061. 0
  2062. def
  2063. /x
  2064. 0
  2065. def
  2066. {
  2067. gsave
  2068. currentfont
  2069. dup
  2070. /FontMatrix
  2071. get
  2072. concat
  2073. exch
  2074. 1
  2075. index
  2076. /BuildChar
  2077. get
  2078. exec
  2079. loadcharwidth
  2080. /y
  2081. exch
  2082. y
  2083. add
  2084. def
  2085. /x
  2086. exch
  2087. x
  2088. add
  2089. def
  2090. grestore
  2091. }
  2092. forall
  2093. x
  2094. y
  2095. end
  2096. }
  2097. ifelse
  2098. }
  2099. bind
  2100. def
  2101. /engineimage
  2102. {
  2103. //prtmatr
  2104. exec
  2105. //prtclip
  2106. exec
  2107. (<B )
  2108. print
  2109. pixelsWide
  2110. //prtnum
  2111. exec
  2112. pixelsHigh
  2113. //prtnum
  2114. exec
  2115. bitsPerSample
  2116. //prtnum
  2117. exec
  2118. samplesPerPixel
  2119. //prtnum
  2120. exec
  2121. isPlanar
  2122. {1}{0}
  2123. ifelse
  2124. //prtnum
  2125. exec
  2126. hasAlpha
  2127. {1}{0}
  2128. ifelse
  2129. //prtnum
  2130. exec
  2131. maskPolarity
  2132. //prtnum
  2133. exec
  2134. imageMatrix
  2135. {//prtnum
  2136. exec}
  2137. forall
  2138. /stdout
  2139. (%stdout)(w)
  2140. file
  2141. def
  2142. /left
  2143. bitsPerSample
  2144. samplesPerPixel
  2145. mul
  2146. pixelsWide
  2147. mul
  2148. 7
  2149. add
  2150. 8
  2151. idiv
  2152. dataSrcs
  2153. length
  2154. idiv
  2155. pixelsHigh
  2156. mul
  2157. def
  2158. /used
  2159. 0
  2160. def
  2161. dataSrcs
  2162. 0
  2163. get
  2164. type
  2165. /stringtype
  2166. eq
  2167. {
  2168. {
  2169. dataSrcs
  2170. {
  2171. dup
  2172. length
  2173. left
  2174. gt
  2175. {
  2176. 0
  2177. left
  2178. getinterval
  2179. }
  2180. if
  2181. dup
  2182. length
  2183. dup
  2184. /used
  2185. exch
  2186. def
  2187. 0
  2188. eq
  2189. {pop
  2190. exit}
  2191. if
  2192. stdout
  2193. exch
  2194. writehexstring
  2195. (\n)
  2196. print
  2197. }
  2198. forall
  2199. used
  2200. 0
  2201. eq
  2202. {exit}
  2203. if
  2204. /left
  2205. left
  2206. used
  2207. sub
  2208. def
  2209. left
  2210. 0
  2211. le
  2212. {exit}
  2213. if
  2214. }
  2215. loop
  2216. }
  2217. {
  2218. dataSrcs
  2219. 0
  2220. get
  2221. type
  2222. /filetype
  2223. eq
  2224. {
  2225. {
  2226. dataSrcs
  2227. {
  2228. //holdstring
  2229. dup
  2230. length
  2231. left
  2232. gt
  2233. {
  2234. 0
  2235. left
  2236. getinterval
  2237. }
  2238. if
  2239. readstring
  2240. exch
  2241. dup
  2242. length
  2243. dup
  2244. /used
  2245. exch
  2246. def
  2247. 0
  2248. eq
  2249. {pop
  2250. pop
  2251. exit}
  2252. if
  2253. stdout
  2254. exch
  2255. writehexstring
  2256. (\n)
  2257. print
  2258. not
  2259. {/used
  2260. 0
  2261. def
  2262. exit}
  2263. if
  2264. }
  2265. forall
  2266. used
  2267. 0
  2268. eq
  2269. {exit}
  2270. if
  2271. /left
  2272. left
  2273. used
  2274. sub
  2275. def
  2276. left
  2277. 0
  2278. le
  2279. {exit}
  2280. if
  2281. }
  2282. loop
  2283. }
  2284. {
  2285. {
  2286. dataSrcs
  2287. {
  2288. exec
  2289. dup
  2290. length
  2291. left
  2292. gt
  2293. {
  2294. 0
  2295. left
  2296. getinterval
  2297. }
  2298. if
  2299. dup
  2300. length
  2301. dup
  2302. /used
  2303. exch
  2304. def
  2305. 0
  2306. eq
  2307. {pop
  2308. exit}
  2309. if
  2310. stdout
  2311. exch
  2312. writehexstring
  2313. (\n)
  2314. print
  2315. }
  2316. forall
  2317. used
  2318. 0
  2319. eq
  2320. {exit}
  2321. if
  2322. /left
  2323. left
  2324. used
  2325. sub
  2326. def
  2327. left
  2328. 0
  2329. le
  2330. {exit}
  2331. if
  2332. }
  2333. loop
  2334. }
  2335. ifelse
  2336. }
  2337. ifelse
  2338. (>\n)
  2339. print
  2340. //showprogress
  2341. exec
  2342. }
  2343. bind
  2344. def
  2345. /image
  2346. {
  2347. //enginecache
  2348. /bitmap
  2349. get
  2350. begin
  2351. dup
  2352. type
  2353. /dicttype
  2354. eq
  2355. {
  2356. dup
  2357. /ImageMatrix
  2358. get
  2359. /imageMatrix
  2360. exch
  2361. def
  2362. dup
  2363. /Height
  2364. get
  2365. /pixelsHigh
  2366. exch
  2367. def
  2368. dup
  2369. /Width
  2370. get
  2371. /pixelsWide
  2372. exch
  2373. def
  2374. dup
  2375. /MultipleDataSources
  2376. known
  2377. {dup
  2378. /MultipleDataSources
  2379. get}{false}
  2380. ifelse
  2381. /isPlanar
  2382. exch
  2383. def
  2384. dup
  2385. /DataSource
  2386. get
  2387. isPlanar
  2388. not
  2389. {[
  2390. exch
  2391. ]}
  2392. if
  2393. /dataSrcs
  2394. exch
  2395. def
  2396. dup
  2397. /BitsPerComponent
  2398. get
  2399. /bitsPerSample
  2400. exch
  2401. def
  2402. dup
  2403. /Decode
  2404. get
  2405. length
  2406. 2
  2407. idiv
  2408. /samplesPerPixel
  2409. exch
  2410. def
  2411. pop
  2412. /hasAlpha
  2413. false
  2414. def
  2415. }{
  2416. /dataSrcs
  2417. exch
  2418. [
  2419. exch
  2420. ]
  2421. def
  2422. /imageMatrix
  2423. exch
  2424. def
  2425. /bitsPerSample
  2426. exch
  2427. def
  2428. /pixelsHigh
  2429. exch
  2430. def
  2431. /pixelsWide
  2432. exch
  2433. def
  2434. /samplesPerPixel
  2435. 1
  2436. def
  2437. /isPlanar
  2438. false
  2439. def
  2440. /hasAlpha
  2441. false
  2442. def
  2443. }
  2444. ifelse
  2445. /maskPolarity
  2446. -1
  2447. def
  2448. //engineimage
  2449. exec
  2450. end
  2451. }
  2452. bind
  2453. def
  2454. /colorimage
  2455. {
  2456. //enginecache
  2457. /bitmap
  2458. get
  2459. begin
  2460. /samplesPerPixel
  2461. exch
  2462. def
  2463. /isPlanar
  2464. exch
  2465. def
  2466. isPlanar
  2467. {samplesPerPixel}
  2468. {1}
  2469. ifelse
  2470. array
  2471. astore
  2472. /dataSrcs
  2473. exch
  2474. def
  2475. /imageMatrix
  2476. exch
  2477. def
  2478. /bitsPerSample
  2479. exch
  2480. def
  2481. /pixelsHigh
  2482. exch
  2483. def
  2484. /pixelsWide
  2485. exch
  2486. def
  2487. /hasAlpha
  2488. false
  2489. def
  2490. /maskPolarity
  2491. -1
  2492. def
  2493. //engineimage
  2494. exec
  2495. end
  2496. }
  2497. bind
  2498. def
  2499. /alphaimage
  2500. {
  2501. //enginecache
  2502. /bitmap
  2503. get
  2504. begin
  2505. /samplesPerPixel
  2506. exch
  2507. 1
  2508. add
  2509. def
  2510. /isPlanar
  2511. exch
  2512. def
  2513. isPlanar
  2514. {samplesPerPixel}
  2515. {1}
  2516. ifelse
  2517. array
  2518. astore
  2519. /dataSrcs
  2520. exch
  2521. def
  2522. /imageMatrix
  2523. exch
  2524. def
  2525. /bitsPerSample
  2526. exch
  2527. def
  2528. /pixelsHigh
  2529. exch
  2530. def
  2531. /pixelsWide
  2532. exch
  2533. def
  2534. /hasAlpha
  2535. true
  2536. def
  2537. /maskPolarity
  2538. -1
  2539. def
  2540. //engineimage
  2541. exec
  2542. end
  2543. }
  2544. bind
  2545. def
  2546. /imagemask
  2547. {
  2548. //prtcolor
  2549. exec
  2550. //enginecache
  2551. /bitmap
  2552. get
  2553. begin
  2554. dup
  2555. type
  2556. /dicttype
  2557. eq
  2558. {
  2559. dup
  2560. /ImageMatrix
  2561. get
  2562. /imageMatrix
  2563. exch
  2564. def
  2565. dup
  2566. /Height
  2567. get
  2568. /pixelsHigh
  2569. exch
  2570. def
  2571. dup
  2572. /Width
  2573. get
  2574. /pixelsWide
  2575. exch
  2576. def
  2577. dup
  2578. /MultipleDataSources
  2579. known
  2580. {dup
  2581. /MultipleDataSources
  2582. get}{false}
  2583. ifelse
  2584. /isPlanar
  2585. exch
  2586. def
  2587. dup
  2588. /DataSource
  2589. get
  2590. isPlanar
  2591. not
  2592. {[
  2593. exch
  2594. ]}
  2595. if
  2596. /dataSrcs
  2597. exch
  2598. def
  2599. dup
  2600. /Decode
  2601. get
  2602. 0
  2603. get
  2604. /maskPolarity
  2605. exch
  2606. def
  2607. /bitsPerSample
  2608. 1
  2609. def
  2610. /samplesPerPixel
  2611. 1
  2612. def
  2613. pop
  2614. /hasAlpha
  2615. false
  2616. def
  2617. }{
  2618. /dataSrcs
  2619. exch
  2620. [
  2621. exch
  2622. ]
  2623. def
  2624. /imageMatrix
  2625. exch
  2626. def
  2627. /maskPolarity
  2628. exch
  2629. {1}{0}ifelse
  2630. def
  2631. /pixelsHigh
  2632. exch
  2633. def
  2634. /pixelsWide
  2635. exch
  2636. def
  2637. /bitsPerSample
  2638. 1
  2639. def
  2640. /samplesPerPixel
  2641. 1
  2642. def
  2643. /isPlanar
  2644. false
  2645. def
  2646. /hasAlpha
  2647. false
  2648. def
  2649. }
  2650. ifelse
  2651. //engineimage
  2652. exec
  2653. end
  2654. }
  2655. bind
  2656. def
  2657. /TailorBeginDocument
  2658. {
  2659. //prtclip
  2660. exec
  2661. //enginestate
  2662. 1
  2663. index
  2664. cvn
  2665. 1
  2666. index
  2667. /inittag
  2668. get
  2669. put
  2670. //enginestate
  2671. /inittag
  2672. currenthalftonephase
  2673. pop
  2674. put
  2675. (<G )
  2676. print
  2677. print
  2678. (>\n)
  2679. print
  2680. }
  2681. bind
  2682. def
  2683. /TailorEndDocument
  2684. {
  2685. //prtclip
  2686. exec
  2687. //enginestate
  2688. 1
  2689. index
  2690. cvn
  2691. known
  2692. {//enginestate
  2693. 1
  2694. index
  2695. cvn
  2696. get}
  2697. {0}
  2698. ifelse
  2699. //enginestate
  2700. exch
  2701. /inittag
  2702. exch
  2703. put
  2704. (<E )
  2705. print
  2706. print
  2707. (>\n)
  2708. print
  2709. }
  2710. bind
  2711. def
  2712. /TailorBeginPage
  2713. {
  2714. //prtclip
  2715. exec
  2716. //enginestate
  2717. /inittag
  2718. currenthalftonephase
  2719. pop
  2720. put
  2721. //enginestate
  2722. /firstpage
  2723. get
  2724. {
  2725. //enginestate
  2726. /setupmatrix
  2727. get
  2728. currentmatrix
  2729. pop
  2730. //enginestate
  2731. /firstpage
  2732. false
  2733. put
  2734. }
  2735. if
  2736. (<N )
  2737. print
  2738. print
  2739. (>\n)
  2740. print
  2741. }
  2742. bind
  2743. def
  2744. /showpage
  2745. {
  2746. (<N 0>\n)
  2747. print
  2748. initgraphics
  2749. }
  2750. bind
  2751. def
  2752. /erasepage
  2753. {
  2754. }
  2755. bind
  2756. def
  2757. /adjmat
  2758. [//EngineResAdjust
  2759. 0
  2760. 0
  2761. //EngineResAdjust
  2762. 0
  2763. 0]
  2764. def
  2765. /invadjmat
  2766. [1
  2767. //EngineResAdjust
  2768. div
  2769. 0
  2770. 0
  2771. 1
  2772. //EngineResAdjust
  2773. div
  2774. 0
  2775. 0]
  2776. def
  2777. /tmpmat1
  2778. matrix
  2779. def
  2780. /tmpmat2
  2781. matrix
  2782. def
  2783. /prevsetmatrix
  2784. /setmatrix
  2785. load
  2786. def
  2787. //EngineResAdjust
  2788. 1.01
  2789. ge
  2790. {
  2791. /defaultmatrix
  2792. {
  2793. tmpmat1
  2794. defaultmatrix
  2795. //adjmat
  2796. tmpmat2
  2797. concatmatrix
  2798. exch
  2799. copy
  2800. }
  2801. bind
  2802. def
  2803. /currentmatrix
  2804. {
  2805. tmpmat1
  2806. currentmatrix
  2807. //adjmat
  2808. tmpmat2
  2809. concatmatrix
  2810. exch
  2811. copy
  2812. }
  2813. bind
  2814. def
  2815. /setmatrix
  2816. {
  2817. //invadjmat
  2818. tmpmat1
  2819. concatmatrix
  2820. //prevsetmatrix
  2821. exec
  2822. }
  2823. bind
  2824. def
  2825. /transform
  2826. {
  2827. dup
  2828. type
  2829. /arraytype
  2830. ne
  2831. {matrix
  2832. currentmatrix}
  2833. if
  2834. transform
  2835. }
  2836. bind
  2837. def
  2838. /dtransform
  2839. {
  2840. dup
  2841. type
  2842. /arraytype
  2843. ne
  2844. {matrix
  2845. currentmatrix}
  2846. if
  2847. dtransform
  2848. }
  2849. bind
  2850. def
  2851. /itransform
  2852. {
  2853. dup
  2854. type
  2855. /arraytype
  2856. ne
  2857. {matrix
  2858. currentmatrix}
  2859. if
  2860. itransform
  2861. }
  2862. bind
  2863. def
  2864. /idtransform
  2865. {
  2866. dup
  2867. type
  2868. /arraytype
  2869. ne
  2870. {matrix
  2871. currentmatrix}
  2872. if
  2873. idtransform
  2874. }
  2875. bind
  2876. def
  2877. /arc
  2878. {
  2879. gsave
  2880. //EngineResAdjust
  2881. //EngineResAdjust
  2882. scale
  2883. arc
  2884. false
  2885. upath
  2886. grestore
  2887. cvx
  2888. exec
  2889. }
  2890. bind
  2891. def
  2892. /arcn
  2893. {
  2894. gsave
  2895. //EngineResAdjust
  2896. //EngineResAdjust
  2897. scale
  2898. arcn
  2899. false
  2900. upath
  2901. grestore
  2902. cvx
  2903. exec
  2904. }
  2905. bind
  2906. def
  2907. /arct
  2908. {
  2909. gsave
  2910. //EngineResAdjust
  2911. //EngineResAdjust
  2912. scale
  2913. arct
  2914. false
  2915. upath
  2916. grestore
  2917. cvx
  2918. exec
  2919. }
  2920. bind
  2921. def
  2922. /arcto
  2923. {
  2924. gsave
  2925. //EngineResAdjust
  2926. //EngineResAdjust
  2927. scale
  2928. arcto
  2929. false
  2930. upath
  2931. grestore
  2932. cvx
  2933. exec}
  2934. bind
  2935. def
  2936. }
  2937. if
  2938. /NXRectPath
  2939. {
  2940. 4
  2941. 2
  2942. roll
  2943. moveto
  2944. 1
  2945. index
  2946. 0
  2947. rlineto
  2948. 0
  2949. exch
  2950. rlineto
  2951. neg
  2952. 0
  2953. rlineto
  2954. closepath
  2955. }
  2956. bind
  2957. def
  2958. /NXProcessRectArgs
  2959. {
  2960. 1
  2961. index
  2962. type
  2963. /arraytype
  2964. eq{
  2965. exch
  2966. 0
  2967. 4
  2968. 2
  2969. index
  2970. length
  2971. 1
  2972. sub{
  2973. dup
  2974. 3
  2975. add
  2976. 1
  2977. exch{1
  2978. index
  2979. exch
  2980. get
  2981. exch}for
  2982. 5
  2983. 1
  2984. roll
  2985. 5
  2986. index
  2987. exec
  2988. }for
  2989. pop
  2990. pop
  2991. }{exec}ifelse
  2992. }
  2993. bind
  2994. def
  2995. /rectfill
  2996. {
  2997. gsave
  2998. newpath
  2999. {//NXRectPath
  3000. exec
  3001. fill}
  3002. //NXProcessRectArgs
  3003. exec
  3004. grestore
  3005. }
  3006. bind
  3007. def
  3008. /rectclip
  3009. {
  3010. newpath
  3011. {//NXRectPath
  3012. exec}
  3013. //NXProcessRectArgs
  3014. exec
  3015. clip
  3016. newpath
  3017. }
  3018. bind
  3019. def
  3020. /rectstroke
  3021. {
  3022. gsave
  3023. newpath
  3024. dup
  3025. type
  3026. /arraytype
  3027. eq
  3028. {dup
  3029. length
  3030. 6
  3031. eq}
  3032. {false}
  3033. ifelse
  3034. {
  3035. {gsave
  3036. //NXRectPath
  3037. exec
  3038. null
  3039. concat
  3040. stroke
  3041. grestore}
  3042. dup
  3043. length
  3044. array
  3045. cvx
  3046. copy
  3047. dup
  3048. 3
  3049. 4
  3050. -1
  3051. roll
  3052. put
  3053. //NXProcessRectArgs
  3054. exec
  3055. }
  3056. {
  3057. {//NXRectPath
  3058. exec
  3059. stroke}
  3060. //NXProcessRectArgs
  3061. exec
  3062. }
  3063. ifelse
  3064. grestore
  3065. }
  3066. bind
  3067. def
  3068. /nulldevice
  3069. {
  3070. //setallchanged
  3071. exec
  3072. nulldevice
  3073. 0
  3074. 0
  3075. 0
  3076. 0
  3077. //rectclip
  3078. exec
  3079. }
  3080. bind
  3081. def
  3082. /xyshow
  3083. {
  3084. 0
  3085. 1
  3086. 3
  3087. index
  3088. length
  3089. 1
  3090. sub{
  3091. currentpoint
  3092. 4
  3093. index
  3094. 3
  3095. index
  3096. 1
  3097. getinterval
  3098. show
  3099. 3
  3100. index
  3101. 3
  3102. index
  3103. 2
  3104. mul
  3105. 1
  3106. add
  3107. get
  3108. add
  3109. exch
  3110. 3
  3111. index
  3112. 3
  3113. index
  3114. 2
  3115. mul
  3116. get
  3117. add
  3118. exch
  3119. moveto
  3120. pop
  3121. }for
  3122. pop
  3123. pop
  3124. }
  3125. bind
  3126. def
  3127. /xshow
  3128. {
  3129. 0
  3130. 1
  3131. 3
  3132. index
  3133. length
  3134. 1
  3135. sub{
  3136. currentpoint
  3137. 4
  3138. index
  3139. 3
  3140. index
  3141. 1
  3142. getinterval
  3143. show
  3144. exch
  3145. 3
  3146. index
  3147. 3
  3148. index
  3149. get
  3150. add
  3151. exch
  3152. moveto
  3153. pop
  3154. }for
  3155. pop
  3156. pop
  3157. }
  3158. bind
  3159. def
  3160. /yshow
  3161. {
  3162. 0
  3163. 1
  3164. 3
  3165. index
  3166. length
  3167. 1
  3168. sub{
  3169. currentpoint
  3170. 4
  3171. index
  3172. 3
  3173. index
  3174. 1
  3175. getinterval
  3176. show
  3177. 3
  3178. index
  3179. 3
  3180. index
  3181. get
  3182. add
  3183. moveto
  3184. pop
  3185. }for
  3186. pop
  3187. pop
  3188. }
  3189. bind
  3190. def
  3191. /ueofill
  3192. {
  3193. gsave
  3194. newpath
  3195. uappend
  3196. eofill
  3197. grestore
  3198. }
  3199. bind
  3200. def
  3201. /ufill
  3202. {
  3203. gsave
  3204. newpath
  3205. uappend
  3206. fill
  3207. grestore
  3208. }
  3209. bind
  3210. def
  3211. /ustroke
  3212. {
  3213. gsave
  3214. newpath
  3215. dup
  3216. length
  3217. 6
  3218. eq
  3219. {exch
  3220. uappend
  3221. concat}{uappend}ifelse
  3222. stroke
  3223. grestore
  3224. }
  3225. bind
  3226. def
  3227. /execform
  3228. {
  3229. dup
  3230. /Implementation
  3231. known
  3232. not
  3233. {
  3234. dup
  3235. /Implementation
  3236. 0
  3237. put
  3238. readonly
  3239. }
  3240. if
  3241. gsave
  3242. dup
  3243. /Matrix
  3244. get
  3245. concat
  3246. dup
  3247. /BBox
  3248. get
  3249. aload
  3250. pop
  3251. exch
  3252. 3
  3253. index
  3254. sub
  3255. exch
  3256. 2
  3257. index
  3258. sub
  3259. rectclip
  3260. dup
  3261. /PaintProc
  3262. get
  3263. exec
  3264. grestore
  3265. }
  3266. bind
  3267. def
  3268. /strokepath
  3269. {
  3270. false
  3271. upath
  3272. length
  3273. 8
  3274. gt
  3275. {
  3276. strokepath
  3277. }
  3278. {
  3279. newpath
  3280. }
  3281. ifelse
  3282. }
  3283. bind
  3284. def
  3285. false
  3286. setstrokeadjust
  3287. /setstrokeadjust
  3288. {
  3289. pop
  3290. }
  3291. bind
  3292. def
  3293. /put
  3294. {
  3295. 1
  3296. index
  3297. /FontName
  3298. ne
  3299. {put}
  3300. {
  3301. 2
  3302. index
  3303. 2
  3304. index
  3305. known
  3306. {pop
  3307. pop
  3308. pop}
  3309. {put}
  3310. ifelse
  3311. }
  3312. ifelse
  3313. }
  3314. bind
  3315. def
  3316. /readonly
  3317. {
  3318. }
  3319. def
  3320. /setpapersize
  3321. {pop}
  3322. bind
  3323. def
  3324. userdict
  3325. begin
  3326. /11x17
  3327. {
  3328. initmatrix
  3329. }
  3330. def
  3331. /tabloid
  3332. {
  3333. initmatrix
  3334. }
  3335. def
  3336. /a2
  3337. {
  3338. initmatrix
  3339. }
  3340. def
  3341. /a3
  3342. {
  3343. initmatrix
  3344. }
  3345. def
  3346. /a4
  3347. {
  3348. initmatrix
  3349. }
  3350. def
  3351. /a4small
  3352. {
  3353. initmatrix
  3354. }
  3355. def
  3356. /a5
  3357. {
  3358. initmatrix
  3359. }
  3360. def
  3361. /b4
  3362. {
  3363. initmatrix
  3364. }
  3365. def
  3366. /b5
  3367. {
  3368. initmatrix
  3369. }
  3370. def
  3371. /executive
  3372. {
  3373. initmatrix
  3374. }
  3375. def
  3376. /ledger
  3377. {
  3378. initmatrix
  3379. }
  3380. def
  3381. /legal
  3382. {
  3383. initmatrix
  3384. }
  3385. def
  3386. /letter
  3387. {
  3388. initmatrix
  3389. }
  3390. def
  3391. /lettersmall
  3392. {
  3393. initmatrix
  3394. }
  3395. def
  3396. end
  3397. statusdict
  3398. begin
  3399. /processcolors
  3400. {
  3401. 3
  3402. }
  3403. def
  3404. end
  3405. (* )
  3406. print
  3407. product
  3408. print
  3409. ( - revision )
  3410. print
  3411. revision
  3412. prtnum
  3413. (*\n)
  3414. print
  3415. /InitializeTailorParseChunk
  3416. {
  3417. //setallchanged
  3418. exec
  3419. //enginestate
  3420. /tag
  3421. 0
  3422. put
  3423. //enginestate
  3424. /inittag
  3425. 0
  3426. put
  3427. 0
  3428. 0
  3429. sethalftonephase
  3430. //prtdefaultdevicematrix
  3431. exec
  3432. //enginestate
  3433. /firstpage
  3434. get
  3435. not
  3436. {
  3437. //enginestate
  3438. /setupmatrix
  3439. get
  3440. setmatrix
  3441. }
  3442. if
  3443. }
  3444. bind
  3445. def
  3446. /sethalftonephase
  3447. {pop
  3448. pop}
  3449. def
  3450. userdict
  3451. begin
  3452. InitializeTailorParseChunk
  3453.